<%@ page contentType="text/html;charset=UTF-8" %>
<script>
$(document).ready(function() {
    $('#date1').datetimepicker({
        format: "YYYY-MM-DD HH:00"
    });
    $('#date2').datetimepicker({
        format: "YYYY-MM-DD HH:00"
    });
    $('#date3').datetimepicker({
        format: "YYYY-MM-DD HH:00"
    });
    $('#date4').datetimepicker({
        format: "YYYY-MM-DD HH:00"
    });
    $('#date5').datetimepicker({
        format: "YYYY-MM-DD HH:00"
    });
	$('#newBillTable').bootstrapTable({
		 
		  //请求方法
               method: 'get',
               //类型json
               dataType: "json",
               //显示刷新按钮
               showRefresh: true,
               //显示切换手机试图按钮
               showToggle: true,
               //显示 内容列下拉框
    	       showColumns: true,
    	       //显示到处按钮
    	       showExport: true,
    	       //显示切换分页按钮
    	       showPaginationSwitch: true,
    	       //最低显示2行
    	       minimumCountColumns: 2,
               //是否显示行间隔色
               striped: true,
               //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）     
               cache: false,    
               //是否显示分页（*）  
               pagination: true,   
                //排序方式 
               sortOrder: "asc",  
               //初始化加载第一页，默认第一页
               pageNumber:1,   
               //每页的记录行数（*）   
               pageSize: 10,  
               //可供选择的每页的行数（*）    
               pageList: [10, 25, 50, 100],
               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
               url: "${ctx}/tms/newBill/data",
               //默认值为 'limit',传给服务端的参数为：limit, offset, search, sort, order Else
               //queryParamsType:'',   
               ////查询参数,每次调用是会带上这个参数，可自定义                         
               queryParams : function(params) {
               	var searchParam = $("#searchForm").serializeJSON();
               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
                   return searchParam;
               },
               //分页方式：client客户端分页，server服务端分页（*）
               sidePagination: "server",
               contextMenuTrigger:"right",//pc端 按右键弹出菜单
               contextMenuTriggerMobile:"press",//手机端 弹出菜单，click：单击， press：长按。
               contextMenu: '#context-menu',
               onContextMenuItem: function(row, $el){
                   if($el.data("item") == "edit"){
                   	edit(row.id);
                   } else if($el.data("item") == "delete"){
                        jp.confirm('确认要删除该运单记录吗？', function(){
                       	jp.loading();
                       	jp.get("${ctx}/tms/newBill/delete?id="+row.id, function(data){
                   	  		if(data.success){
                   	  			$('#newBillTable').bootstrapTable('refresh');
                   	  			jp.success(data.msg);
                   	  		}else{
                   	  			jp.error(data.msg);
                   	  		}
                   	  	})
                   	   
                   	});
                      
                   } 
               },
              
               onClickRow: function(row, $el){
               },
               columns: [{
		        checkbox: true
		       
		    }
			,{
		        field: 'status',
		        title: '单据状态',
		        sortable: true

		    }
			,{
		        field: 'bx',
		        title: '投保状态',
		        sortable: true
		       
		    }
			,{
		        field: 'ydh',
		        title: '运单号',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
                       }

                   }
			,{
		        field: 'pcdh',
		        title: '派车单号',
		        sortable: true
		       
		    }
			,{
		        field: 'hth',
		        title: '合同号',
		        sortable: true
		       
		    }
			,{
		        field: 'wtdh',
		        title: '委托单号',
		        sortable: true
		       
		    }
			,{
		        field: 'date',
		        title: '下单日期',
		        sortable: true
		       
		    }
			,{
		        field: 'zydh',
		        title: '装运单号',
		        sortable: true
		       
		    }
			,{
		        field: 'thdh',
		        title: '提货单号',
		        sortable: true
		       
		    }
			,{
		        field: 'code',
		        title: '物料编码',
		        sortable: true
		       
		    }
			,{
		        field: 'name',
		        title: '物料名称',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.name;
                       }
		    }
			,{
		        field: 'gg',
		        title: '规格',
		        sortable: true
		       
		    }
			,{
		        field: 'lx',
		        title: '物料类型',
		        sortable: true
		       
		    },{
                       field: 'zylx',
                       title: '作业类型',
                       sortable: true

                   }
			,{
		        field: 'unit',
		        title: '单位',
		        sortable: true
		       
		    }
			,{
		        field: 'pcl',
		        title: '派车量',
		        sortable: true
		       
		    }
			,{
		        field: 'zcl',
		        title: '装车量',
		        sortable: true
		       
		    }
			,{
		        field: 'weight',
		        title: '毛重',
		        sortable: true
		       
		    }

			,{
		        field: 'voulm',
		        title: '体积',
		        sortable: true
		       
		    }
			,{
		        field: 'deop',
		        title: '提货仓库',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.store;
                       }
		    }
			,{
		        field: 'type',
		        title: '订单类型',
		        sortable: true
		       
		    }
			,{
		        field: 'fhdate',
		        title: '要求发货日期',
		        sortable: true
		       
		    }
			,{
		        field: 'dhdate',
		        title: '要求到货日期',
		        sortable: true
		       
		    }
			,{
		        field: 'qyd',
		        title: '起运地',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.name;
                       }
		    }
			,{
		        field: 'dzs',
		        title: '到站省',
		        sortable: true
		       
		    }
			,{
		        field: 'dzdcs',
		        title: '到站地城市',
		        sortable: true
		       
		    }
			,{
		        field: 'jsd',
		        title: '结算地',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.name;
                       }
		    }
			,{
		        field: 'site',
		        title: '收货详细地址',
		        sortable: true
		       
		    }
			,{
		        field: 'khtstq',
		        title: '客户特殊需求',
		        sortable: true
		       
		    }
			,{
		        field: 'shdw',
		        title: '收货单位',
		        sortable: true
		       
		    }
			,{
		        field: 'qrr',
		        title: '收货单位确认人',
		        sortable: true
		       
		    }
			,{
		        field: 'qrrdh',
		        title: '确认人电话',
		        sortable: true
		       
		    }
			,{
		        field: 'htlc',
		        title: '合同里程',
		        sortable: true
		       
		    }
			,{
		        field: 'ysxl',
		        title: '运输线路',
		        sortable: true
		       
		    }
			,{
		        field: 'ysfs',
		        title: '运输方式',
		        sortable: true
		       
		    }
			,{
		        field: 'jsfs',
		        title: '结算方式',
		        sortable: true
		       
		    }
                   ,{
                       field: 'price',
                       title: '结算单价',
                       sortable: true

                   }
			,{
		        field: 'jslx',
		        title: '结算类型',
		        sortable: true
		       
		    }
			,{
		        field: 'width',
		        title: '结算吨位区间',
		        sortable: true
		       
		    }

			,{
		        field: 'ddry',
		        title: '调度人员',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.name;
                       }
		    }
			,{
		        field: 'xxdd',
		        title: '现场督导',
		        sortable: true
                       ,formatter:function(value, row , index){
                           return value.name;
                       }
		    }
			,{
		        field: 'tylx',
		        title: '托运类型',
		        sortable: true
		       
		    }
			,{
		        field: 'cys',
		        title: '承运商',
		        sortable: true
		       
		    }
			,{
		        field: 'cyslxr',
		        title: '承运商联系人',
		        sortable: true
		       
		    }
			,{
		        field: 'cysdh',
		        title: '承运商电话',
		        sortable: true
		       
		    }
			,{
		        field: 'cph',
		        title: '车牌号',
		        sortable: true
		       
		    }
			,{
		        field: 'cllx',
		        title: '车辆类型',
		        sortable: true
		       
		    }
			,{
		        field: 'xszh',
		        title: '行驶证号',
		        sortable: true
		       
		    }
			,{
		        field: 'sjxm',
		        title: '司机姓名',
		        sortable: true
		       
		    }
			,{
		        field: 'sjdh',
		        title: '司机电话',
		        sortable: true
		       
		    }
			,{
		        field: 'jszh',
		        title: '驾驶证号',
		        sortable: true
		       
		    }
			,{
		        field: 'jxdwqj',
		        title: '绩效吨位区间',
		        sortable: true
		       
		    }
            // ,{
		    //     field: 'customer',
		    //     title: '客户Id',
		    //     sortable: true
		    //
		    // }
			,{
		        field: 'pro',
		        title: '项目',
		        sortable: true
		       
		    } ,{
                       field: 'zxj',
                       title: '总现金',
                       sortable: true

                   }
                   , {
                       field: 'zyk',
                       title: '总油卡',
                       sortable: true
                   }
                       ,{
		        field: 'zyf',
		        title: '总运费',
		        sortable: true

		    }
                   ,{
                       field: 'jsje',
                       title: '结算金额',
                       sortable: true

                   } ,{
                       field: 'sl',
                       title: '税率',
                       sortable: true

                   } ,{
                       field: 'jsjehs',
                       title: '结算金额含税',
                       sortable: true

                   } ,{
                       field: 'zzsl',
                       title: '增值税率',
                       sortable: true

                   } ,{
                       field: 'sj',
                       title: '税金',
                       sortable: true

                   } ,{
                       field: 'mlr',
                       title: '毛利润',
                       sortable: true

                   }
                   ,{
                       field: 'lrl',
                       title: '利润率',
                       sortable: true

                   }
			,{
		        field: 'zhfk',
		        title: '装货付款',
		        sortable: true
		       
		    }
			,{
		        field: 'hdfk',
		        title: '货到付款',
		        sortable: true
		       
		    }
			,{
		        field: 'hzjs',
		        title: '凭回执结算',
		        sortable: true
		       
		    }

			,{
		        field: 'ykzh',
		        title: '油卡金额（装货）',
		        sortable: true
		       
		    }
			,{
		        field: 'xjzh',
		        title: '现金(装货)',
		        sortable: true
		       
		    }
                   ,{
                       field: 'hdfkxj',
                       title: '货到付款现金',
                       sortable: true

                   },{
                       field: 'hdfkyk',
                       title: '货到付款油卡',
                       sortable: true

                   }
                   // ,{
                   //     field: 'hdykkh',
                   //     title: '油卡卡号(货到)',
                   //     sortable: true
                   //
                   // }
                   ,{
                       field: 'hzfkxj',
                       title: '回执付款现金',
                       sortable: true

                   },{
                       field: 'hzfkyk',
                       title: '回执付款油卡',
                       sortable: true

                   }
                   // ,{
                   //     field: 'hzykkh',
                   //     title: '油卡卡号(回执)',
                   //     sortable: true
                   //
                   //
                   //
                   // }
			,{
		        field: 'dthd',
		        title: '到提货地时间',
		        sortable: true
		       
		    }
			,{
		        field: 'lkthd',
		        title: '离开提货地时间',
		        sortable: true
		       
		    }
			,{
		        field: 'dshd',
		        title: '到收货地时间',
		        sortable: true
		       
		    }
			,{
		        field: 'lkshd',
		        title: '离开收货地时间',
		        sortable: true
		       
		    }
			,{
		        field: 'zxsj',
		        title: '最新跟踪时间',
		        sortable: true
		       
		    }
			,{
		        field: 'zxwz',
		        title: '最新跟踪位置',
		        sortable: true
		       
		    }
			,{
		        field: 'yjdd',
		        title: '预计到达客户时间',
		        sortable: true
		       
		    }
			,{
		        field: 'qszt',
		        title: '客户签收状态',
		        sortable: true
		       
		    }
			,{
		        field: 'qsr',
		        title: '客户签收人及电话',
		        sortable: true
		       
		    }
			,{
		        field: 'qssj',
		        title: '签收时间',
		        sortable: true
		       
		    }
                   ,{
                       field: 'qsjs',
                       title: '签收件数',
                       sortable: true

                   },{
                       field: 'remarks',
                       title: '签收备注',
                       sortable: true

                   }
			,{
		        field: 'dgssj',
		        title: '回单到公司时间',
		        sortable: true
		       
		    }
			,{
		        field: 'dhzsj',
		        title: '回单到货主时间',
		        sortable: true
		       
		    }
		     ]
		
		});
		
		  
	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端

		 
		  $('#newBillTable').bootstrapTable("toggleView");
		}
	  
	  $('#newBillTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
                'check-all.bs.table uncheck-all.bs.table', function () {
            $('#remove').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);
          $('#ztgz').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);
          $('#dhqr').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);
          $('#qs').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);
          $('#dgs').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);
          $('#dhz').prop('disabled', ! $('#newBillTable').bootstrapTable('getSelections').length);

          $('#edit').prop('disabled', $('#newBillTable').bootstrapTable('getSelections').length!=1);
        });
		  
		$("#btnImport").click(function(){
			jp.open({
			    type: 1, 
			    area: [500, 300],
			    title:"导入数据",
			    content:$("#importBox").html() ,
			    btn: ['下载模板','确定', '关闭'],
				    btn1: function(index, layero){
					  window.location='${ctx}/tms/newBill/import/template';
				  },
			    btn2: function(index, layero){
				        var inputForm =top.$("#importForm");
				        var top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe 
				        inputForm.attr("target",top_iframe);//表单提交成功后，从服务器返回的url在当前tab中展示
				        inputForm.onsubmit = function(){
				        	jp.loading('  正在导入，请稍等...');
				        }
				        inputForm.submit();
					    jp.close(index);
				  },
				 
				  btn3: function(index){ 
					  jp.close(index);
	    	       }
			}); 
		});
		    
	  $("#search").click("click", function() {// 绑定查询按扭
		  $('#newBillTable').bootstrapTable('refresh');
		});
	 
	 $("#reset").click("click", function() {// 绑定查询按扭
		  $("#searchForm  input").val("");
		  $("#searchForm  select").val("");
		  $("#searchForm  .select-item").html("");
		  $('#newBillTable').bootstrapTable('refresh');
		});
		
		
	});
		
  function getIdSelections() {
        return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
            return row.id
        });
    }
function getstatus() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.status
    });
}
function gethth() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.hth
    });
}
function getzydh() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.zydh
    });
}
function getthdh() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.thdh
    });
}
function getzcl() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.zcl
    });
}
function getname() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.name.name
    });
}
function getshdw() {
    return $.map($("#newBillTable").bootstrapTable('getSelections'), function (row) {
        return row.shdw
    });
}
  function deleteAll(){

		jp.confirm('确认要删除该运单记录吗？', function(){
			jp.loading();  	
			jp.get("${ctx}/tms/newBill/deleteAll?ids=" + getIdSelections(), function(data){
         	  		if(data.success){
         	  			$('#newBillTable').bootstrapTable('refresh');
         	  			jp.success(data.msg);
         	  		}else{
         	  			jp.error(data.msg);
         	  		}
         	  	})
          	   
		})
  }
function dgs(){
    var jf1=getstatus();
    var tjs1=jf1.toString().split(",");
    for(var i=0;i<tjs1.length;i++){
        if(tjs1[i]!="已签收"){
            jp.warning("请选择已签收订单")
            return;
        }
    }
    jp.confirm('确认回单到公司吗？', function(){
        jp.loading();
        jp.get("${ctx}/tms/newBill/dgs?ids=" + getIdSelections(), function(data){
            if(data.success){
                $('#newBillTable').bootstrapTable('refresh');
                jp.success(data.msg);
            }else{
                jp.error(data.msg);
            }
        })

    })
}
function dhz(){
    var jf1=getstatus();
    var tjs1=jf1.toString().split(",");
    for(var i=0;i<tjs1.length;i++){
        if(tjs1[i]!="回单到公司"){
            jp.warning("请选择回单到公司的订单")
            return;
        }
    }
    jp.confirm('确认回单到货主吗？', function(){
        jp.loading();
        jp.get("${ctx}/tms/newBill/dhz?ids=" + getIdSelections(), function(data){
            if(data.success){
                $('#newBillTable').bootstrapTable('refresh');
                jp.success(data.msg);
            }else{
                jp.error(data.msg);
            }
        })

    })
}
function ztgz1(){
    var jf1=getstatus();
    var tjs1=jf1.toString().split(",");
    for(var i=0;i<tjs1.length;i++){
        if(tjs1[i]!="在途"){
            jp.warning("请选择在途订单")
            return;
        }
    }
    $("#ztgz1").modal("show");
}
function khqs(){
    var jf1=getstatus();
    var tjs1=jf1.toString().split(",");
    for(var i=0;i<tjs1.length;i++){
        if(tjs1[i]!="已到货"){
            jp.warning("请选择已到货订单")
            return;
        }
    }
	var ids=getIdSelections();
	var s=ids.toString().split(",");
	var zydh=getzydh();
    var s1=zydh.toString().split(",");

    var thdh=getthdh();
    var s2=thdh.toString().split(",");
    var hth=gethth();
    var s3=hth.toString().split(",");
    var name=getname();
    var s4=name.toString().split(",");
    var zcl=getzcl();
    var s5=zcl.toString().split(",");
    var shdw=getshdw();
    var s6=shdw.toString().split(",");
    $("#detil").empty();
	for(var i=0;i<s.length;i++){
        var addTr = $("<tr></tr>");
        addTr.appendTo("#detil");
        addTr.append($('<td></td>').text(s3[i]));
        addTr.append($('<td></td>').text(s1[i]));
        addTr.append($("<td></td>").text(s2[i]));
        addTr.append($("<td></td>").text(s6[i]));
        addTr.append($('<td></td>').text(s4[i]));
        addTr.append($("<td></td>").text(s5[i]));
        addTr.append("<td ><input type='text' id='"+s[i]+"' value='"+s5[i]+"'/></td>");

        addTr.append("<td ><select id='"+s[i]+"1' class='form-control'><option value='正常'>正常</option><option value='异常'>异常</option></select></td>");
        addTr.append("<td ><input type='text' id='"+s[i]+"2'/></td>");
    }
    $("#hdqs").modal("show");
}
function dhqr(){
    var jf1=getstatus();
    var tjs1=jf1.toString().split(",");
    for(var i=0;i<tjs1.length;i++){
        if(tjs1[i]!="在途"){
            jp.warning("请选择在途订单")
            return;
        }
    }
    $("#dhqr1").modal("show");
}
function dhqd(){
    var date= $("#ddsj").val();
    var date1=$("#lkdhd").val();
    $("#dhqr1").modal("hide");
    jp.get("${ctx}/tms/newBill/dhqr?ids=" + getIdSelections()+"&dd="+date+"&lk="+date1, function(data){
        if(data.success){
            $('#newBillTable').bootstrapTable('refresh');
            jp.success(data.msg);
        }else{
            jp.error(data.msg);
        }
    })
}
function gzqd(){
    var date= $("#gzsj").val();
    var date1=$("#gzwz").val();
    var bz=$("#bz").val();
    var date2=$("#yjdd").val();
    $("#ztgz1").modal("hide");
    jp.get("${ctx}/tms/newBill/ztgz?ids=" + getIdSelections()+"&dd="+date+"&lk="+date1+"&yjdd="+date2+"&bz="+bz, function(data){
        if(data.success){
            $('#newBillTable').bootstrapTable('refresh');
            jp.success(data.msg);
        }else{
            jp.error(data.msg);
        }
    })
}
function qsqd(){
    var ids=getIdSelections();
    var s=ids.toString().split(",");
    var qsr= $("#qsr").val();
    var qssj=$("#qssj").val();
    for(var i=0;i<s.length;i++){
        var qsl= $("#"+s[i]).val();
        var qszt=$("#"+s[i]+"1").val();
        var qsbz=$("#"+s[i]+"2").val();
        jp.get("${ctx}/tms/newBill/qs?id=" + s[i]+"&qsr="+qsr+"&qssj="+qssj+"&qszt="+qszt+"&qsjs="+qsl+"&bz="+qsbz, function(data){
            if(data.success){


            }else{
                jp.error(data.msg);
            }
        })
	}
    jp.success("签收成功");
    $("#hdqs").modal("hide");
    $('#newBillTable').bootstrapTable('refresh');

}
   function add(){
	  jp.openDialog('新增运单', "${ctx}/tms/newBill/form",'800px', '500px', $('#newBillTable'));
  }
  function edit(id){//没有权限时，不显示确定按钮
  	  if(id == undefined){
			id = getIdSelections();
		}
	   <shiro:hasPermission name="tms:newBill:edit">
	  jp.openDialog('编辑运单', "${ctx}/tms/newBill/form?id=" + id,'1200px', '800px', $('#newBillTable'));
	   </shiro:hasPermission>
	  <shiro:lacksPermission name="tms:newBill:edit">
	  jp.openDialogView('查看运单', "${ctx}/tms/newBill/form?id=" + id,'1200px', '800px', $('#newBillTable'));
	  </shiro:lacksPermission>
  }

</script>